package com.power.mapper;


import com.power.entity.SystemProcessLog;

import java.util.Date;
import java.util.Map;

public interface SystemProcessLogMapper {
    int deleteByPrimaryKey(Long pid);

    int insert(SystemProcessLog record);

    int insertSelective(SystemProcessLog record);

    SystemProcessLog selectByPrimaryKey(Long pid);

    int updateByPrimaryKeySelective(SystemProcessLog record);

    int updateByPrimaryKey(SystemProcessLog record);

    /**
     * 根据进程名称查询最近一条日志记录
     * @param procName
     * @return
     */
    SystemProcessLog selectLatestLogByProcName(String procName);

    /**
     * 根据进程名称和开始日期查询总的处理条数
     * @param paramMap:进程名称，开始日期
     * @return
     */
    Integer selectTotalHandleRowByProcNameAndDate(Map<String, Object> paramMap);

    /**
     * 根据进程名称查询进程创建时间
     * @param procName
     * @return
     */
    Date selectProcessCreateTimeByProcName(String procName);

    /**
     * 根据进程名称和指定日期查询最近一条日志记录
     * @param paramMap:进程名称，日期
     * @return
     */
    SystemProcessLog selectLatestLogByProcNameAndTime(Map<String, Object> paramMap);

    /**
     * 根据进程名称查询出该进程的总运行时间
     * @param procName
     * @return
     */
    Double selectTotalRunTimeByProcName(String procName);

    /**
     * 根据时间删除该时间点之前的数据
     * @param returnSomeDayAccordingGivenDate
     */
    void deleteDataAccordingToTime(Date startTime);
}